

import { defineStore, createPinia } from 'pinia'
import persistedstate from 'pinia-plugin-persistedstate'

const store = createPinia()
store.use(persistedstate)

export const useTodoStore = defineStore('todo', {
  state: () => ({
    todoname: '',    // 输入框内容（双向绑定）
    list: [],        // 任务列表
    completedCount: 0// 已删除任务数（统计核心）
  }),
  actions: {
    // 🔥 「添加任务」核心逻辑：校验+新增+清空
    add() {
      if (this.todoname.trim() === '') { // 空内容校验
        alert('请输入任务名称');
        return;
      }
      this.list.unshift({ // 新任务插入列表顶部
        id: Date.now(),   // 时间戳作为唯一 ID
        name: this.todoname
      });
      this.todoname = ''; // 清空输入框
    },
    del(id) { /* 删除逻辑（保持原有统计递增） */ },
    clear() { /* 清空逻辑（保持原有确认+重置） */ },
  },
  // 定义状态持久化规则
  persist: {
    paths: ['list', 'completedCount', 'todoname'], // 持久化关键状态
    storage: localStorage,
  },
})

export default store

